<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');

/**
 * Класс для хранения объектов во время жизни скрипта
 * 
 * @package CoreFramework
 * @version 1.0
 * @author Gennadiy Kozlenko
 */
class Registry {
   
   /**
    * Реестр объектов
    *
    * @access private
    * @var array
    */
   var $_registry = array();
   
   /**
    * Конструктор класса
    *
    * @access public
    * @return DB_Registry
    */
   function Registry() {
      
   } // end Registry
   
   /**
    * Сохранение объекта в реестре
    *
    * @access public
    * @param string $name
    * @param mixed $obj
    * @return boolean
    */
   function save($name, $obj) {
      if (isset($this->_registry[$name])) {
         return false;
      }
      $this->_registry[$name] = $obj;
      return true;
   } // end save
   
   /**
    * Получение объекта из реестра
    *
    * @access public
    * @param string $name
    * @return mixed
    */
   function load($name) {
      return $this->exists($name) ? $this->_registry[$name] : false;
   } // end load
   
   /**
    * Проверка существования объекта в реестре
    *
    * @access public
    * @param string $name
    * @return mixed
    */
   function exists($name) {
      return isset($this->_registry[$name]);
   } // end exists
   
}
